﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EGuayas.Web.Resources;
using EntGuayasSLA.BL.Listas;
using Ext.Net;
using EntGuayasSLA.BL;
using System.IO;
using System.Text;
using EntGuayasSLA.BL.Licenciamiento;
using EGuayas.Web.Usuario;

namespace EGuayas.Web.Auditoria.admin.Global
{
    public partial class pgAudMon : pgBase
    {
        
       
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!X.IsAjaxRequest)
                {
                         Obligaciones objObligacion = wucPeriodicidad.BeginWuc(Request["idOli"], Valores.Codigo_TipoObligacion_Mon, Request["evt"]);
                         if (Request["evt"] == Valores.PageEvento_Modificar)
                         {

                             AuditoriaMonitoreo audMon = AuditoriaMonitoreo.GetEditableRoot(Guid.Parse(objObligacion.AuditoriaId));
                             frmAuditoria.SetValues(new
                             {
                                 Periodo = audMon.Periodo,
                                 FechaInicio = audMon.FechaInicio.ToShortDateString(),
                                 FechaFin = audMon.FechaFin.ToShortDateString()

                             });
                             btnSave.Hide();
                             //                 
                      

                             X.Js.Call("pgFn.setReadOnly");  
                         } 
                }//if (!X.IsAjaxRequest)
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        /// <summary>
        /// Grabar información de expediente
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSave_Click(object sender, DirectEventArgs e)
        {
            try
            {
                if (!this.wucPeriodicidad.GetIfUpadate())
                {
                    X.Msg.Show(new MessageBoxConfig
                    {
                        Buttons = MessageBox.Button.OK,
                        Icon = MessageBox.Icon.INFO,
                        Title = Titulos.TituloAviso,
                        Message = string.Format("{0} <b>{1}</b>", "Ingrese datos de ", "configuaciones generales")

                    });
                }
                else
                {

                    string sMsg = "Nueva Auditoria de Monitoreo creada";
                    string gridJson = e.ExtraParams["prmValues"];
                    var dataItem = JSON.Deserialize<Dictionary<string, string>>(gridJson);

                    AuditoriaMonitoreo audMon = AuditoriaMonitoreo.NewEditableRoot();
                    audMon.Id = System.Guid.NewGuid();
                    audMon.ExpedienteAuditoriaId = Request["idAud"];

                    audMon.Periodo = dataItem["Periodo"];
                    audMon.FechaInicio = DateTime.Parse(dataItem["FechaInicio"]);
                    audMon.FechaFin = DateTime.Parse(dataItem["FechaFin"]);
                    audMon.PlanAccion = Valores.Codigo_CHAR_No;
                    audMon.Save();
                    //Actualizar id auditoria
                    Obligaciones objObligacion = Obligaciones.GetEditableRoot(Guid.Parse(Request["idOli"]));
                    objObligacion.AuditoriaId = audMon.Id.ToString();
                    objObligacion.Tipo = Valores.Codigo_TipoObligacion_Mon;
                    objObligacion.Save();
                    btnSave.Disable();
                    //Metodo de  ~/Auditoria/admin/Global/pgDetalle.aspx de wuc obligaciones:~/Auditoria/admin/Global/wucLickObligaciones.ascx
                    X.Msg.Show(new MessageBoxConfig
                     {
                         Buttons = MessageBox.Button.OK,
                         Icon = MessageBox.Icon.INFO,
                         Title = Titulos.TituloAviso,
                         Message = string.Format("{0}", sMsg),
                         //Handler = "window.parent.App.CloseNuevoExpediente();"
                         Handler = " if (window.parent!=null && typeof window.parent.App.CloseDetallaNuevaAuditoria === 'function') window.parent.App.CloseDetallaNuevaAuditoria();"

                     });
                }
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }

    }
}